diff options
| author | Juergen Ributzka <juergen@apple.com> | 2015-11-13 19:08:07 +0000 |
|---|---|---|
| committer | Juergen Ributzka <juergen@apple.com> | 2015-11-13 19:08:07 +0000 |
| commit | 8aaae5a911827be4730c2a95fd649af2d929fa19 (patch) | |
| tree | cdc82fab981fdb2ca08a3bab0290ac0e43b003f7 /clang/test | |
| parent | 94b57065c67c9d578bcff2c4b8d08f22e6c3fe81 (diff) | |
| download | bcm5719-llvm-8aaae5a911827be4730c2a95fd649af2d929fa19.tar.gz bcm5719-llvm-8aaae5a911827be4730c2a95fd649af2d929fa19.zip | |
Fix auto-link for text-based dynamic library SDKs.
When linking against text-based dynamic library SDKs the library name of a
framework has now more than one possible filename extensions. This fix tests for
both possible extensions (none, and .tbd).
This fixes rdar://problem/20609975
llvm-svn: 253060
Diffstat (limited to 'clang/test')
3 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/AutolinkTBD.framework/AutolinkTBD.tbd b/clang/test/Modules/Inputs/AutolinkTBD.framework/AutolinkTBD.tbd new file mode 100644 index 00000000000..4aa0f85d0d5 --- /dev/null +++ b/clang/test/Modules/Inputs/AutolinkTBD.framework/AutolinkTBD.tbd @@ -0,0 +1 @@ +empty file - clang only needs to check if it exists. diff --git a/clang/test/Modules/Inputs/AutolinkTBD.framework/Headers/AutolinkTBD.h b/clang/test/Modules/Inputs/AutolinkTBD.framework/Headers/AutolinkTBD.h new file mode 100644 index 00000000000..cf790ac3eab --- /dev/null +++ b/clang/test/Modules/Inputs/AutolinkTBD.framework/Headers/AutolinkTBD.h @@ -0,0 +1 @@ +extern int foo(); diff --git a/clang/test/Modules/autolinkTBD.m b/clang/test/Modules/autolinkTBD.m new file mode 100644 index 00000000000..6107952c3b9 --- /dev/null +++ b/clang/test/Modules/autolinkTBD.m @@ -0,0 +1,17 @@ +// RUN: rm -rf %t +// RUN: %clang_cc1 -emit-llvm -o - -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -fno-autolink -o - -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs %s | FileCheck --check-prefix=CHECK-AUTOLINK-DISABLED %s + +@import AutolinkTBD; + +int f() { + return foo(); +} + +// CHECK: !llvm.module.flags = !{{{.*}}} +// CHECK: !{{[0-9]+}} = !{i32 6, !"Linker Options", ![[AUTOLINK_OPTIONS:[0-9]+]]} +// CHECK: ![[AUTOLINK_OPTIONS]] = !{![[AUTOLINK_FRAMEWORK:[0-9]+]]} +// CHECK: ![[AUTOLINK_FRAMEWORK]] = !{!"-framework", !"AutolinkTBD"} + +// CHECK-AUTOLINK-DISABLED: !llvm.module.flags +// CHECK-AUTOLINK-DISABLED-NOT: "Linker Options" |

