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
|