Skip to content
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

[5.0] [ABI] [Mangling] Disambiguate protocol-conformance-ref better #21478

Merged

Conversation

jrose-apple
Copy link
Contributor

@jrose-apple jrose-apple commented Dec 21, 2018

  • Explanation: The mangling for references to *non-*retroactive conformances in bound generic types was suffix-ambiguous with the one for retroactive conformances; fix that by adding explicit operators to distinguish the non-retroactive cases. Additionally, reduce the set of situations such conformances references need to be mangled at all.

  • Scope: Affects the mangling of bound generic types where a generic parameter has a conformance constraint.

  • Issue: rdar://problem/46735592

  • Risk: Medium, because it is changing mangling. Most of the symbols that would change are currently broken, but not all uses of those symbols require them to demangle successfully. (However, in those cases it shouldn't matter what the symbol is.)

  • Testing: Added compiler regression tests. [Will verify tomorrow that the original failing project now builds successfully.]

  • Reviewed by: @rjmccall, @DougGregor

[ABI] [Mangling] Only look for retroactive conformances in conditional reqs

rdar://problem/46735592
@jrose-apple jrose-apple requested a review from a team as a code owner December 21, 2018 02:05
@jrose-apple
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Collaborator

Build failed
Swift Test Linux Platform
Git Sha - a0a2ad4

@swift-ci
Copy link
Collaborator

Build failed
Swift Test OS X Platform
Git Sha - a0a2ad4

@AnnaZaks
Copy link
Contributor

If this is ABI breaking, please add [ABI] label and mention this in the description.

@jrose-apple
Copy link
Contributor Author

jrose-apple commented Dec 21, 2018

I don't see an "ABI-breaking" label but I'll be sure to mention that.

…Hm, what's up with the bots?

@jrose-apple
Copy link
Contributor Author

@swift-ci Please test

@AnnaZaks AnnaZaks merged commit 8c2551f into apple:swift-5.0-branch Dec 21, 2018
@jrose-apple jrose-apple deleted the 5.0-conditionally-retro branch December 21, 2018 16:13
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.

None yet

3 participants