[5.3] Demangler: fix a crash when re-mangling retroactive conformances #33962
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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