Skip to content

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