Skip to content

Conversation

@eeckstein
Copy link
Contributor

@eeckstein eeckstein commented Sep 16, 2020

If there are multiple retroactive conformances in the mangling tree, they are put under a TypeList node.
This case was not handled by the re-mangler.
The crash shows up in an assert-build of the compiler, because the re-mangler is used for mangling verification.

Original: #33911

  • Radar: rdar://problem/68467435

  • Explanation: This fixes a compiler assert crash on Linux. It's only on Linux because the Linux compiler is built with asserts enabled. For certain type of functions the mangling verification failed, because the re-mangling didn't consider this special case.

  • Scope: This bug was introduced in 5.3, but it's a rare scenario. Otherwise we would have seen this more often.

  • Risk: Low. It's a very simple fix in the re-mangler.

  • Reviewer: @rjmccall

If there are multiple retroactive conformances in the mangling tree, they are put under a TypeList node.
This case was not handled by the re-mangler.
The crash shows up in an assert-build of the compiler, because the re-mangler is used for mangling verification.

rdar://problem/68467435
@eeckstein eeckstein requested a review from a team as a code owner September 16, 2020 09:15
@eeckstein eeckstein requested a review from rjmccall September 16, 2020 09:15
@eeckstein
Copy link
Contributor Author

@swift-ci test

Copy link
Contributor

@rjmccall rjmccall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@eeckstein eeckstein merged commit cbfb27c into swiftlang:release/5.3 Sep 22, 2020
@eeckstein eeckstein deleted the fix-demangler-5.3 branch September 22, 2020 07:37
@AnthonyLatsis AnthonyLatsis added swift 5.3 🍒 release cherry pick Flag: Release branch cherry picks and removed r5.3 labels Jan 8, 2023
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.3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants