mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-27 23:38:59 -04:00

framework module SomeKitCore { ... export_as SomeKit } Given the module above, while generting autolink information during codegen, clang should to emit '-framework SomeKitCore' only if SomeKit was not imported in the relevant TU, otherwise it should use '-framework SomeKit' instead. rdar://problem/38269782 llvm-svn: 330152
45 lines
1.9 KiB
Objective-C
45 lines
1.9 KiB
Objective-C
// RUN: rm -rf %t
|
|
// RUN: %clang_cc1 -emit-llvm -o - -fmodules-cache-path=%t -DA -fmodules -fimplicit-module-maps -F %S/Inputs/exportas-link %s | FileCheck --check-prefix=CHECK_A %s
|
|
// CHECK_A: !llvm.linker.options = !{![[MODULE:[0-9]+]]}
|
|
// CHECK_A: ![[MODULE]] = !{!"-framework", !"SomeKit"}
|
|
#ifdef A
|
|
@import SomeKitCore;
|
|
@import SomeKit;
|
|
#endif
|
|
|
|
// RUN: %clang_cc1 -emit-llvm -o - -fmodules-cache-path=%t -DB -fmodules -fimplicit-module-maps -F %S/Inputs/exportas-link %s | FileCheck --check-prefix=CHECK_B %s
|
|
// CHECK_B: !llvm.linker.options = !{![[MODULE:[0-9]+]]}
|
|
// CHECK_B: ![[MODULE]] = !{!"-framework", !"SomeKit"}
|
|
#ifdef B
|
|
@import SomeKit;
|
|
@import SomeKitCore;
|
|
#endif
|
|
|
|
// RUN: %clang_cc1 -emit-llvm -o - -fmodules-cache-path=%t -DC -fmodules -fimplicit-module-maps -F %S/Inputs/exportas-link %s | FileCheck --check-prefix=CHECK_C %s
|
|
// CHECK_C: !llvm.linker.options = !{![[MODULE:[0-9]+]]}
|
|
// CHECK_C: ![[MODULE]] = !{!"-framework", !"SomeKitCore"}
|
|
#ifdef C
|
|
@import SomeKitCore;
|
|
#endif
|
|
|
|
// RUN: %clang_cc1 -emit-llvm -o - -fmodules-cache-path=%t -DD -fmodules -fimplicit-module-maps -F %S/Inputs/exportas-link %s | FileCheck --check-prefix=CHECK_D %s
|
|
// CHECK_D: !llvm.linker.options = !{![[MODULE:[0-9]+]]}
|
|
// CHECK_D: ![[MODULE]] = !{!"-framework", !"SomeKit"}
|
|
#ifdef D
|
|
@import SomeKit;
|
|
#endif
|
|
|
|
// RUN: %clang_cc1 -emit-llvm -o - -fmodules-cache-path=%t -DE -fmodules -fimplicit-module-maps -F %S/Inputs/exportas-link %s | FileCheck --check-prefix=CHECK_E %s
|
|
// CHECK_E: !llvm.linker.options = !{![[MODULE:[0-9]+]]}
|
|
// CHECK_E: ![[MODULE]] = !{!"-framework", !"SomeKitCore"}
|
|
#ifdef E
|
|
@import OtherKit;
|
|
#endif
|
|
|
|
// RUN: %clang_cc1 -emit-llvm -o - -fmodules-cache-path=%t -DF -fmodules -fimplicit-module-maps -F %S/Inputs/exportas-link %s | FileCheck --check-prefix=CHECK_F %s
|
|
// CHECK_F: !llvm.linker.options = !{![[MODULE:[0-9]+]]}
|
|
// CHECK_F: ![[MODULE]] = !{!"-framework", !"SomeKit"}
|
|
#ifdef F
|
|
@import OtherKit;
|
|
#endif
|