Skip to content

Commit e7e3cf7

Browse files
authored
Merge pull request #69541 from apple/release/5.10-cherry-pick
[5.10 cherry-pick] Fix infinite lookup importing forward declarations from bridging header
2 parents 2129304 + 6b8e2d2 commit e7e3cf7

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

lib/ClangImporter/ClangImporter.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1427,6 +1427,7 @@ ClangImporter::create(ASTContext &ctx,
14271427
new (ctx) ClangModuleUnit(*importedHeaderModule, importer->Impl, nullptr);
14281428
importedHeaderModule->addFile(*importer->Impl.ImportedHeaderUnit);
14291429
importedHeaderModule->setHasResolvedImports();
1430+
importedHeaderModule->setIsNonSwiftModule(true);
14301431

14311432
importer->Impl.IsReadingBridgingPCH = false;
14321433

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
@class ForwardDeclaredInterface;
2+
3+
ForwardDeclaredInterface *CFunctionReturningAForwardDeclaredInterface();
4+
void CFunctionTakingAForwardDeclaredInterface(ForwardDeclaredInterface *param);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// RUN: %target-swift-frontend -import-objc-header %S/Inputs/incomplete_objc_types_bridging_header.h -enable-upcoming-feature ImportObjcForwardDeclarations -enable-objc-interop -typecheck %s
2+
3+
// REQUIRES: objc_interop
4+
5+
let foo = CFunctionReturningAForwardDeclaredInterface()
6+
CFunctionTakingAForwardDeclaredInterface(foo)

0 commit comments

Comments
 (0)