aboutsummaryrefslogtreecommitdiff
path: root/test/Linker/metadata-function.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Linker/metadata-function.ll')
-rw-r--r--test/Linker/metadata-function.ll26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/Linker/metadata-function.ll b/test/Linker/metadata-function.ll
new file mode 100644
index 000000000000..0b17e0c58588
--- /dev/null
+++ b/test/Linker/metadata-function.ll
@@ -0,0 +1,26 @@
+; RUN: llvm-link %s %S/Inputs/metadata-function.ll -S | FileCheck %s
+; RUN: llvm-link %S/Inputs/metadata-function.ll %s -S | FileCheck %s
+
+; CHECK-DAG: define weak void @foo() !weak ![[B:[0-9]+]] {
+define linkonce void @foo() !linkonce !0 {
+ unreachable
+}
+
+; CHECK-DAG: define void @bar() !bar ![[A:[0-9]+]] {
+define void @bar() !bar !0 {
+ call void @baz()
+ unreachable
+}
+
+; CHECK-DAG: define void @baz() !baz ![[B]] {
+declare void @baz()
+
+; CHECK-DAG: define void @a() !a ![[A]] {
+; CHECK-DAG: define void @b() !b ![[B]] {
+define void @a() !a !0 {
+ unreachable
+}
+
+; CHECK-DAG: ![[A]] = !{!"a"}
+; CHECK-DAG: ![[B]] = !{!"b"}
+!0 = !{!"a"}