Skip to content

When qualifying Clang types with a module, make sure we choose a visible module #32465

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

Merged
merged 12 commits into from
Dec 11, 2020

Conversation

martinboehme
Copy link
Contributor

@martinboehme martinboehme commented Jun 19, 2020

Clang types need special treatment because multiple Clang modules can contain the same type declarations from a textually included header, but not all of these modules may be visible.

Fixes #55477

The newly added test breaks without this fix.

@martinboehme

This comment has been minimized.

@swift-ci

This comment has been minimized.

Copy link
Contributor

@gribozavr gribozavr left a comment

Choose a reason for hiding this comment

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

LGTM, but I also would like @nkcsgexi to take a look.

@gribozavr gribozavr requested a review from nkcsgexi June 19, 2020 11:08
@gribozavr gribozavr added the c++ interop Feature: Interoperability with C++ label Jun 19, 2020
@swift-ci

This comment has been minimized.

@martinboehme
Copy link
Contributor Author

@swift-ci Please test

@swift-ci

This comment has been minimized.

@martinboehme
Copy link
Contributor Author

@swift-ci Please test

@martinboehme
Copy link
Contributor Author

@gribozavr I've now addressed all of your review comments.

@swiftlang swiftlang deleted a comment from swift-ci Jul 7, 2020
@swiftlang swiftlang deleted a comment from swift-ci Jul 7, 2020
@swiftlang swiftlang deleted a comment from swift-ci Jul 7, 2020
@MForster
Copy link
Contributor

MForster commented Jul 7, 2020

@nkcsgexi, could you take a look at this PR?

@akyrtzi akyrtzi requested a review from xymus July 9, 2020 19:15
Copy link
Contributor

@xymus xymus left a comment

Choose a reason for hiding this comment

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

LGTM! Sorry for the delay.

@shahmishal
Copy link
Member

Please update the base branch to main by Oct 5th otherwise the pull request will be closed automatically.

  • How to change the base branch: (Link)
  • More detail about the branch update: (Link)

@varungandhi-apple
Copy link
Contributor

@swift-ci Please test

@swift-ci
Copy link
Contributor

swift-ci commented Nov 4, 2020

Build failed
Swift Test OS X Platform
Git Sha - 7543c5201a2b59aac3f4a31f23be36848b2ace3c

@swift-ci
Copy link
Contributor

swift-ci commented Nov 4, 2020

Build failed
Swift Test Linux Platform
Git Sha - 7543c5201a2b59aac3f4a31f23be36848b2ace3c

martinboehme and others added 9 commits December 4, 2020 14:45
…ng a C

struct in different modules.

The newly added test fails.
module.

Clang types need special treatment because multiple Clang modules can
contain the same type declarations from a textually included header, but
not all of these modules may be visible.

This fixes

https://bugs.swift.org/browse/SR-13032
Putting the test in a separate directory makes it clearer that all of
the input files are related and create a particular test case
interaction.
…odules.

Also, make sure we only process a module once.
@hlopko
Copy link
Contributor

hlopko commented Dec 10, 2020

@swift-ci please test

@hlopko
Copy link
Contributor

hlopko commented Dec 10, 2020

I believe this PR is now good to go, all comments are addressed and we have 2 approvals already, so unless anybody comments, we will merge it tomorrow.

@hlopko
Copy link
Contributor

hlopko commented Dec 10, 2020

@swift-ci please test

@hlopko hlopko merged commit f4e74f7 into swiftlang:main Dec 11, 2020
ainu-bot added a commit to google/swift that referenced this pull request Dec 11, 2020
* 'main' of github.com:apple/swift:
  When qualifying Clang types with a module, make sure we choose a visible module (swiftlang#32465)
@AnthonyLatsis AnthonyLatsis added c interop Feature: Interoperability with C and removed c++ interop Feature: Interoperability with C++ labels Oct 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c interop Feature: Interoperability with C
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[SR-13032] Invalid .swiftinterface when textually including C struct in different modules