Skip to content

[4.2] Don't mangle generic type aliases at all #17576

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

DougGregor
Copy link
Member

@DougGregor DougGregor commented Jun 27, 2018

Explanation: The recently-introduced mangling for generic typealiases produced both incorrect manglings as well as correct manglings that both the demangler and remangler would break on. Remove this functionality, which effectively reverts the behavior back to what was in Swift <= 4.1.
Scope: Affects debug builds of effectively any Swift project, because only debug builds include mangling of typealiases. A number of these were triggering compiler assertions (when the compiler was built with assertions).
Risk: Very low; we're effectively reverting back to a non-typealias mangling, which puts the debug-info path on the same code path as the rest of the compiler.
Testing: Compiler regression tests, built various other projects that were
Reviewer: @dcci
SR / Radar: rdar://problem/41444286

This reverts commit 410940c. Generic
typealias mangling is incomplete, causing demangling and remangling
failures on a number of projects. Disable it for now.
Mangling of generic typealiases for debug info is causing a long tail of
bugs. Disable it on the Swift 4.2 branch; we'll fall back to the
underlying type.

Fixes rdar://problem/41444286.
@DougGregor
Copy link
Member Author

@swift-ci please test

@DougGregor DougGregor requested a review from dcci June 27, 2018 23:45
@DougGregor
Copy link
Member Author

@swift-ci please test source compatibility

@DougGregor
Copy link
Member Author

@swift-ci please nominate

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 6cbbce3

@DougGregor
Copy link
Member Author

apple/swift-lldb#724 loosens the LLDB test that was checking for a generic typealias demangling.

@DougGregor
Copy link
Member Author

@swift-ci please test macOS

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 6cbbce3

@DougGregor
Copy link
Member Author

"Jenkins error". ARGH!

@DougGregor
Copy link
Member Author

@swift-ci please test macOS

1 similar comment
@DougGregor
Copy link
Member Author

@swift-ci please test macOS

@DougGregor DougGregor merged commit 9f8f2a1 into swiftlang:swift-4.2-branch Jun 28, 2018
@DougGregor DougGregor deleted the disable-generic-typealias-mangling-4.2 branch June 28, 2018 18:23
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