Skip to content

Conversation

@egorzhdan
Copy link
Contributor

Explanation: ClangImporter was not able to lookup NSObject when C++ interop is enabled, which caused types such as xpc_object_t from system module XPC to be imported differently: any OS_xpc_object without C++ interop vs any NSObject & OS_xpc_object with C++ interop enabled.
Scope: This alters the way NSObject type is looked up by ClangImporter.
Risk: Medium, this alters the code path that can be taken without having C++ interop enabled.

Original PR: #67116

rdar://110000787
(cherry picked from commit 5a62032)

…++ interop enabled

Previously ClangImporter was not able to lookup `NSObject` when C++ interop is enabled, which caused types such as `xpc_object_t` from system module XPC to be imported differently: `any OS_xpc_object` without C++ interop vs `any NSObject & OS_xpc_object` with C++ interop enabled.

rdar://110000787
(cherry picked from commit 5a62032)
@egorzhdan egorzhdan added the c++ interop Feature: Interoperability with C++ label Jul 5, 2023
@egorzhdan egorzhdan requested a review from a team as a code owner July 5, 2023 18:24
@egorzhdan
Copy link
Contributor Author

@swift-ci please test

@egorzhdan egorzhdan merged commit 12ee9c5 into release/5.9 Jul 6, 2023
@egorzhdan egorzhdan deleted the egorzhdan/5.9-xpc-object-t branch July 6, 2023 10:55
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.

3 participants