Skip to content

[4.0jun23][Clang importer/module printing] Correctly print NS_ERROR_ENUMs. #10651

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

Explanation: Properly print imported NS_ERROR_ENUM types in the module interface; they were getting dropped.
Scope: Affects module interface printing.
Reviewer: @jrose-apple
Radar: rdar://problem/32497693
Risk: Very low; it's printing some declarations that were otherwise dropped.
Testing: Compiler regression tests; new tests; printing everything in the iOS SDK and manually inspecting the diffs.

Ever since we stopped associating the top-level struct of an imported
NS_ERROR_ENUM with the Clang enum declaration, we've been unable to
print imported NS_ERROR_ENUMs. The module-printing infrastructure
would drop them thinking they aren't imported declarations.

This also affected NS_ERROR_ENUMs that were imported as members of
another type, as well as other types imported as members.

Fixes rdar://problem/32497693.

(cherry picked from commit 6a26f5f)
@DougGregor
Copy link
Member Author

@swift-ci please test

@DougGregor DougGregor merged commit c09a095 into swiftlang:swift-4.0-branch-06-23-2017 Jun 28, 2017
@DougGregor DougGregor deleted the module-print-ns-error-enum-4.0jun23 branch June 28, 2017 06:16
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.

1 participant