|
43 | 43 | // RUN: %target-swift-frontend -module-name Test -O @%t/MyApp.cmd %t/test.swift \
|
44 | 44 | // RUN: -emit-module -o %t/Test.swiftmodule
|
45 | 45 |
|
46 |
| -/// Importing binary module with bridging header built from CAS from a regluar build. |
| 46 | +/// Importing binary module with bridging header from a module that also has bridging header using implicit build method. |
47 | 47 | /// This should succeed even it is also importing a bridging header that shares same header dependencies (with proper header guard).
|
48 | 48 | // RUN: %target-swift-frontend -typecheck -module-name User \
|
49 | 49 | // RUN: -disable-implicit-string-processing-module-import -disable-implicit-concurrency-module-import \
|
50 | 50 | // RUN: -Xcc -fmodule-map-file=%t/a.modulemap -Xcc -fmodule-map-file=%t/b.modulemap \
|
51 | 51 | // RUN: -I %t %t/user2.swift -import-objc-header %t/Bridging2.h
|
52 | 52 |
|
53 |
| -/// Importing binary module with bridging header built from CAS from a cached build. This should work without additional bridging header deps. |
| 53 | +/// Importing binary module with bridging header from a module that has no bridging header. |
54 | 54 | // RUN: %target-swift-frontend -scan-dependencies -module-name User -module-cache-path %t/clang-module-cache -O \
|
55 | 55 | // RUN: -disable-implicit-string-processing-module-import -disable-implicit-concurrency-module-import \
|
56 | 56 | // RUN: %t/user.swift -o %t/deps2.json -auto-bridging-header-chaining -scanner-output-dir %t -scanner-debug-write-output \
|
57 |
| -// RUN: -Xcc -fmodule-map-file=%t/a.modulemap -Xcc -fmodule-map-file=%t/b.modulemap -I %t |
| 57 | +// RUN: -Xcc -fmodule-map-file=%t/a.modulemap -Xcc -fmodule-map-file=%t/b.modulemap -I %t -enable-library-evolution |
58 | 58 |
|
59 | 59 | // RUN: %swift-scan-test -action get_chained_bridging_header -- %target-swift-frontend -emit-module \
|
60 | 60 | // RUN: -module-name User -module-cache-path %t/clang-module-cache -O \
|
|
74 | 74 | // RUN: -disable-implicit-string-processing-module-import -disable-implicit-concurrency-module-import -disable-implicit-swift-modules \
|
75 | 75 | // RUN: -import-pch %t/bridging1.pch \
|
76 | 76 | // RUN: -explicit-swift-module-map-file %t/map2.json @%t/User.cmd %t/user.swift \
|
77 |
| -// RUN: -emit-module -o %t/User.swiftmodule |
| 77 | +// RUN: -emit-module -o %t/User.swiftmodule -emit-module-interface-path %t/User.swiftinterface -enable-library-evolution |
78 | 78 |
|
| 79 | +/// Make sure the emitted content is compatible with original. The embedded header path needs to be original header and no bridging header module leaking into interface. |
79 | 80 | // RUN: llvm-bcanalyzer -dump %t/User.swiftmodule | %FileCheck %s --check-prefix CHECK-NO-HEADER
|
80 | 81 | // CHECK-NO-HEADER-NOT: <IMPORTED_HEADER
|
| 82 | +// RUN: %FileCheck %s --check-prefix NO-OBJC-LEAKING --input-file=%t/User.swiftinterface |
| 83 | +// NO-OBJC-LEAKING-NOT: import __ObjC |
81 | 84 |
|
82 |
| -/// Importing binary module with bridging header for a cached build while also importing a bridging header. |
| 85 | +/// Importing binary module with bridging header from a module with bridging header using explicit build method with header chaining. |
83 | 86 | // RUN: %target-swift-frontend -scan-dependencies -module-name User -O \
|
84 | 87 | // RUN: -disable-implicit-string-processing-module-import -disable-implicit-concurrency-module-import \
|
85 | 88 | // RUN: -Xcc -fmodule-map-file=%t/a.modulemap -Xcc -fmodule-map-file=%t/b.modulemap \
|
|
0 commit comments