File tree Expand file tree Collapse file tree 2 files changed +75
-1
lines changed Expand file tree Collapse file tree 2 files changed +75
-1
lines changed Original file line number Diff line number Diff line change @@ -962,7 +962,7 @@ ModuleDependenciesCache::getClangDependencies(const ModuleDependencyID &moduleID
962
962
auto clangImportedDepsRef = moduleInfo.getImportedClangDependencies ();
963
963
result.insert (clangImportedDepsRef.begin (),
964
964
clangImportedDepsRef.end ());
965
- if (moduleInfo.isSwiftSourceModule ()) {
965
+ if (moduleInfo.isSwiftSourceModule () || moduleInfo. isSwiftBinaryModule () ) {
966
966
auto headerClangDepsRef = moduleInfo.getHeaderClangDependencies ();
967
967
result.insert (headerClangDepsRef.begin (),
968
968
headerClangDepsRef.end ());
Original file line number Diff line number Diff line change
1
+ // REQUIRES: objc_interop
2
+ // RUN: %empty-directory(%t)
3
+ // RUN: split-file %s %t
4
+
5
+ // RUN: %target-swift-frontend -emit-module -o %t/B.framework/Modules/B.swiftmodule/%target-swiftmodule-name -module-name B \
6
+ // RUN: -disable-implicit-string-processing-module-import -disable-implicit-concurrency-module-import \
7
+ // RUN: -I %t -F %t -import-objc-header %t/Bridging.h \
8
+ // RUN: %t/B.swift
9
+
10
+ // RUN: %target-swift-frontend -emit-module -o %t/A.framework/Modules/A.swiftmodule/%target-swiftmodule-name -module-name A \
11
+ // RUN: -disable-implicit-string-processing-module-import -disable-implicit-concurrency-module-import \
12
+ // RUN: -I %t -F %t -import-objc-header %t/Bridging2.h \
13
+ // RUN: %t/A.swift
14
+
15
+ // RUN: %target-swift-frontend -scan-dependencies -module-name Test -module-cache-path %t/clang-module-cache -O \
16
+ // RUN: -disable-implicit-string-processing-module-import -disable-implicit-concurrency-module-import \
17
+ // RUN: %t/user.swift -o %t/deps.json -import-objc-header %t/Bridging3.h \
18
+ // RUN: -I %t -F %t
19
+
20
+ // RUN: %FileCheck %s --input-file=%t/deps.json
21
+ // CHECK-DAG: "swiftPrebuiltExternal": "A"
22
+ // CHECK-DAG: "swiftPrebuiltExternal": "B"
23
+
24
+ //--- A.swift
25
+ @_exported import A
26
+ public func testA( ) { }
27
+
28
+ //--- B.swift
29
+ @_exported import B
30
+ import C
31
+ public func testB( ) { }
32
+
33
+ //--- user.swift
34
+ public func skip( ) { }
35
+
36
+ //--- Bridging.h
37
+ void nothing( void) ;
38
+
39
+ //--- Bridging2.h
40
+ #include " B/B.h "
41
+
42
+ //--- Bridging3.h
43
+ #include " A/A.h "
44
+
45
+ //--- A.framework/Headers/A.h
46
+ struct A {
47
+ int a;
48
+ } ;
49
+
50
+ //--- B.framework/Headers/B.h
51
+ void b( void) ;
52
+ @interface B
53
+ @end
54
+
55
+ //--- C.h
56
+ void c( void) ;
57
+
58
+ //--- A.framework/Modules/module.modulemap
59
+ framework module A {
60
+ umbrella header " A.h "
61
+ export *
62
+ }
63
+
64
+ //--- B.framework/Modules/module.modulemap
65
+ framework module B {
66
+ umbrella header " B.h "
67
+ export *
68
+ }
69
+
70
+ //--- module.modulemap
71
+ module C {
72
+ header " C.h "
73
+ export *
74
+ }
You can’t perform that action at this time.
0 commit comments